草庐IT

c++ - unique_ptr VS auto_ptr

全部标签

c++ - 在opencv中找到轮廓/对象之间的距离

我已经使用cvfindcontour找到了轮廓,现在我想访问第一个和第二个轮廓并找到它们之间的欧氏距离。有人可以帮我处理它的代码吗?CvPoint*contourPoint,*contourPoint2;contourPoint=(CvPoint*)CV_GET_SEQ_ELEM(CvPoint,contours,1);contourPoint2=(CvPoint*)CV_GET_SEQ_ELEM(CvPoint,contours,2);doubledis=sqrt(double((contourPoint->x-contourPoint2->x)*(contourPoint->x-c

java - JMX 的轻量级、多语言替代品?

我有一个需要广泛监控的软实时应用程序项目。JMX似乎很适合这项任务,除了这个应用程序项目是基于c++的。是否有JMX的任何轻量级替代品(带有c/c++支持库)对受监控应用程序的侵入性最小?(SNMP对我的需求来说似乎真的太过分了) 最佳答案 即使SNMP对于您的应用程序来说似乎有些过分,它仍然可能是您最好的选择。NetSNMP不难使用,它有一个众所周知的监控应用程序的标准。其他一些替代方案是:系统日志不过,您可能会遇到的问题是,将其集成到监控应用程序中可能更难。但它有一个众所周知的标准,可能值得一试。JunC++ion它有一个很好的

c++ - 如何从 OCIErrorGet 获取约束错误?

我们的C++程序使用Oracle和OCI来完成其数据库工作。有时,用户会触发约束违规,我们会检测到这种情况,然后显示来自OCIErrorGet的错误消息。OCIErrorGet返回如下字符串:ORA-02292:integrityconstraint(MYSCHEMA.CC_MYCONSTRAINT)violated-childrecordfoundORA-06512:atline5我正在寻找从Oracle错误中提取“MYSCHEMA.CC_MYCONSTRAINT”的最干净的方法。知道约束名称后,我可以显示更好的错误消息(如果我们的代码可以访问约束名称,它可以查找非常有意义的错误消息

c++ - 为什么在单例实现中清除 boost::scoped_ptr

我使用boost::scoped_ptr实现了一个简单的单例:templateclassSingleton:publicboost::noncopyable{public:staticT&instance(){boost::call_once(init,flag);return*t;}staticvoidinit(){t.reset(newT());}private:staticboost::scoped_ptrt;staticboost::once_flagflag;};templateboost::scoped_ptrSingleton::t(0);templateboost::o

c++ - 如何制作指针的拷贝

我正在尝试将一个指针数据复制到另一个指针,这样如果我更改一个指针,另一个指针中的值就不会改变。我需要这个,因为我正在编写一个循环,其中有两个结构指针、value和lastValue。在循环的每次迭代中,我将value的内容分配给lastValue,并用新内容填充value。问题是因为两者都是结构指针,所以当我更改value时,lastValue也会更改,这不是我想要的行为。代码应该是这样的(结构是来自OpenCV的IplImages):IplImage*value;Iplimage*lastValue;while(1){lastValue=value;value=cvQueryFram

c++ - Boost Asio - 使用 shared_ptr 处理解析器和套接字

我有一个类能够通过TCP发送消息。这里是简化的界面:classCommandScreenshot:publicCameraCommand{public:CommandScreenshot();~CommandScreenshot();voidDispatch(boost::shared_ptrio_service);private:voidresolve_handler(constboost::system::error_code&err,boost::asio::ip::tcp::resolver::iteratorendpoint_iterator);};如您所见,我有一个函数Di

c++ - 为 C/C++ 程序编写检测工具

我想编写一个程序来自动检测输入的C/C++代码基于一些输入属性。我正在寻找一个开始学习如何这样做的好地方(主要与如何进行检测、在哪里进行检测等相关)。我已经在网上搜索了一段时间,但运气不佳。因此,如果有人可以帮助我指出一个好的起点,我将不胜感激。谢谢 最佳答案 如果您还没有找到它,这里有一个非常相似的问题,其中包含使用自定义的好主意LLVMPass和GCCMELT:InstrumentingC/C++codeusingLLVM如果您正在寻找更简单的东西,请检查这个基于预处理器的解决方案BasicInstrumentationandP

c++ - 乱码编译器 (MinGW) 输出

我一直在尝试编译我在其他地方使用的一些基本链表示例。我遇到的问题更多是用户问题。我想图片说明了一切:所有奇怪符号的原因是什么?正常的MinGW输出应该类似于错误:从‘void*’到‘element*’的无效转换这就是我遇到的问题,但我很乐意收到有关错误本身的解释。这是我的代码:#include#includestructelement{intinfo;structelement*next;};intmain(void){structelement*head,*node;intarv;head=NULL;printf("Enternumber!(0toexit)");scanf("%d"

c++ - 将 unique_ptr 插入 map ,指针被销毁

我有以下(简化的)类(class):classOperator{private:std::map>op;public:templatevoidinsertOperand(std::stringconst&s,To=T()){op.insert(std::pair>(s,std::move(std::unique_ptr(newT(o))));}voidsetOperandsValue(std::stringconst&o,intv){op.find(o)->second->setValue(v);}};插入一个新的Operand没有任何问题。然而,当函数返回时,析构函数被调用,因此ma

c++ - 在 gmp 任意精度上生成正态分布

所以,我正在尝试使用gmp对于我正在做的一些计算,在某些时候我需要从正态分布中生成一个伪随机数(prn)。由于gmp有一个统一的随机变量,这已经很有帮助了。但是,我发现很难选择应该使用哪种方法从统一的方法生成正态分布。实际上,我的问题是gmp只有简单的操作,所以例如我不能使用cos或erf评估,因为我必须自己实现。我的问题是我可以在多大程度上从gmp上的正态分布生成prn,如果这非常困难,是否有任何已经实现正态分布的任意精度库。作为无效方法的两个示例(从thisquestion检索):Zigguratalgorithm使用f的评估,在这种情况下它是一个非整数指数,因此不受gmp支持。B